<?php

/**
*
* @access 	public
* @version	1.0
* @since  	June-2008
* @deprecated	Lớp cơ sở CDatabase
* @todo		Các thao tác cơ sở với database(delete,select,update,insert)
* @package 	lib
* @subpackage data
* @name CDatabase
* 
*/

class CDatabase
{
	public $table;
	public $item = array();
	public $items = array();
	public $fields = array('id'=>array(
		'type'=>'int'
	));
	public $default_items_per_page = 10;
	public $row_list = array(10,20,30);
	/**
	 * Hàm __construct() khởi tạo database
	 *
	 * @param string $table_name tên bản
	 * @param $fields các trường của bảng
	 * @param $store
	 */
	function __construct($table_name, $fields, $store = false)
	{
		//debug(debug_backtrace());
		//var_dump($store);
		$this->table = CTable($table_name);
		$this->fields = $fields;
		if($store)
		{
			$this->table->change_store($store);
		}
	}
	/**
	 * Hàm delete() xoá id của một trường nào đó trong bảng
	 *
	 */
	function delete()
	{	
		if(request('id'))
		{
			$ids = explode(',', request('id'));
			foreach($ids as $id)
			{
				$this->table->delete($id);
			}
		}		
	}
	/**
	 * Hàm save() lưu giữ một cái item trên bảng
	 *
	 * @param $item là một món hàng cụ thể
	 */
	function save($item)
	{	
		$this->table->save($item);
	}
	/**
	 * Hàm get_list() Lấy những trường của một category
	 *
	 * @param integer $category_id
	 */
	function get_list()
	{
		$this->items = $this->table->select_all(
			$this->get_condition(), 
			array(
				'page_no'=>request('page_no',1), 
				'items_per_page'=>$this->get_items_per_page()
			)
		);
//		print_r($this->items);
	}
	/**
	 * Hàm get_items_per_page() lấy item trên trang
	 *
	 * @return kết quả các item được lấy
	 */
	function get_items_per_page()
	{
		if(CList($this->row_list)->filter(request('items_per_page')))
		{
			return request('items_per_page');
		}
		return $this->default_items_per_page;
	}
	function get_condition()
	{
		return false;
	}
	function get_total_item()
	{
		return $this->table->count();
	}
	function get_detail()
	{
		$this->item = $this->table->select(request('old_id',request('id')));
		
	}
}
?>